//package com.example.springvalidatesample2
//
//import jakarta.transaction.SystemException
//import org.apache.tomcat.util.buf.StringUtils
//import org.slf4j.LoggerFactory
//import org.springframework.validation.BindException
//import org.springframework.validation.FieldError
//import org.springframework.web.bind.annotation.ExceptionHandler
//import org.springframework.web.bind.annotation.RestControllerAdvice
//
//@RestControllerAdvice
//class GlobalExceptionHandler {
//    var log = LoggerFactory.getLogger(GlobalExceptionHandler::class.java)
//
//    /**(
//     * 捕获系统异常
//     * @param e
//     * @return
//     */
//    @ExceptionHandler(SystemException::class)
//    fun systemExceptionHandler(e: SystemException): ResponseResult {
//        log.error("出现了异常1! {}", e)
//        return ResponseResult(e.message?:"")
//    }
//
//    /**
//     * 捕获java异常
//     * @param e
//     * @return
//     */
//    @ExceptionHandler(Exception::class)
//    fun exceptionHandler(e: Exception): ResponseResult {
//        log.error("出现了异常2! {}", e)
//        return ResponseResult(e.message?:"")
//    }
//
//    /**
//     * 捕获校验参数异常
//     * @param e
//     * @return 返回值必须和Controller中的一致才能有效
//     */
//    @ExceptionHandler(BindException::class)
//    fun bindExceptionHandler(e: BindException): ResponseResult {
//        log.error("出现了异常3! {}", e)
//        val bindingResult = e.bindingResult
//        val errors: MutableList<String?> = ArrayList()
//        bindingResult.fieldErrors.stream().forEach { item: FieldError -> errors.add(item.defaultMessage) }
//        val errorMessage = StringUtils.join(errors, '|')
//        log.error("出现了异常3! {}" + e.message)
//        return ResponseResult(errorMessage)
//    }
//}
